过滤纹理

通过应用纹理过滤,您可以用牺牲些许性能为代价提高 3D 场景中的图像质量。基准点采样要求将整个纹理数据存储到内存中,但当您使用 mipmap (或任何过滤选项)且纹理区域比较小时,您可以使用更小的纹理版本。请参阅 使用 mipmap

选择最能够反映出应用程序特定要求的纹理过滤选项。

使用纹理过滤

要使用纹理过滤:

  1. 素材库 (Library) 中,选择 材质和纹理 (Materials and Textures) > 纹理 (Textures),然后选择您要应用压缩的图像。
    避免从 .jpeg 纹理创建 mipmap,因为 .jpeg 图像格式会导致 mipmap 的质量下降。
  2. 属性 (Properties) 中设置纹理设置 (Texture Settings) 属性。
    使用纹理设置 (Texture Settings) 属性来控制纹理过滤。首先将Mipmap 模式 (Mipmap Mode) 属性设为您要使用的 mipmap 模式。然后将缩小过滤器 (Minification Filter)放大过滤器 (Magnification Filter) 属性设为线性 (Linear)。请注意,使用 mipmap 会增加内存使用量。
    通常设置纹理过滤的最佳起点是设置:
    • 缩小过滤器 (Minification Filter)线性 (Linear)
    • 放大过滤器 (Magnification Filter)线性 (Linear)
    • Mipmap 模式 (Mipmap Mode)最近点 (Nearest)。如果您确定纹理未缩小,选择基准 (Base),否则以最近点 (Nearest) 开始。例如,渲染目标纹理 (Render Target Texture) 的默认值为基准 (Base)。使用设置,纹理不具有 mipmap 级别,并始终对基本级别采样。
      如果您将Mipmap 模式 (Mipmap Mode) 属性设为线性 (Linear)最近点 (Nearest),执行以下任一操作:
      • 在用于渲染该纹理的旧渲染通道(已停用)(Legacy Render Pass, deprecated)中将Mipmap 级别 (Mipmap Level) 设为 0,并启用生成 Mipmap (Generate Mipmaps) 属性。Kanzi 使用设置生成 mipmap 级别。
      • 创建尽可能多的旧渲染通道(已停用)(Legacy Render Pass, deprecated) 渲染通道,因为纹理中具有 mipmap 级别。

    请注意,某些纹理格式在 2.0 以上的 OpenGL ES 版本中可用。要设置 OpenGL ES版本,在主菜单中选择工程 (Project) > 属性 (Properties),然后在属性 (Properties) 中设置目标图形 API (Target Graphics API) 属性。

    例如,将目标图形 API (Target Graphics API) 属性设为 .dds 格式的OpenGL ES 3 HDR 和浮点图像,并设置纹理的颜色格式。请参阅在 Kanzi 中使用 OpenGL ES 3.0

    放大过滤器 (Magnification Filter)

    缩小过滤器 (Minification Filter)

    Mipmap 模式 (Mipmap Mode)
     基准 (Base) mipmap最近点 (Nearest) mipmap线性 (Linear) mipmap
    最近点 (Nearest) 采样

    样本数:1

    使用纹理中最近的像素。该组合等于点样本。它返回所有组合的最粗糙的结果,并可能在缩小时导致锯齿。

    放大纹理时使用此组合可以得到非常清晰的结果。

    样本数:1

    有助于纹理缓存,并减少锯齿。但如果在平坦的表面上使用纹理,会产生清晰的迁移。

    当您想要良好的性能,但目标平台无法提供更好的质量时,可以使用此组合。

    此组合通常是最快的。

    样本数:2

    从两个 mipmap 级别取一个样本并在这些样本之间进行插值。

    需要特殊效果时使用此组合。例如,要实现边缘灯光效果。

    线性 (Linear) 采样

    样本数:4

    在纹理中四个最近的像素之间进行插值。

    此组合可用于放大渐变。不过,不要将其用于缩小。

    样本数:4

    从两个 mipmap 级别取两个样本并在这些样本之间进行插值。

    将此组合用作起点。

    此组合通常具有最高性价比。

    如果您确定不存在缩小,可以将Mipmap 模式 (Mipmap Mode) 设为基准 (Base)

    样本数:8

    从两个 mipmap 级别取四个样本并在这些样本之间进行插值。

    当您需要最好的质量,且平台足够强大,能够轻松渲染结果,则使用此组合。

    此组合对性能的负面影响最大。

另请参阅

调整数据大小

并行加载资源

使用 mipmap

压缩纹理

排除应用程序的性能问题

图像和纹理最佳实践

最佳实践